package com.ruoyi.qywx.getway.entity;

import cn.hutool.core.annotation.Alias;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;

import java.util.List;

/**
 * @author : hcl
 * @Date : 2023/8/8
 */
@Data
public class QyContact {
    @TableId(type = IdType.AUTO)
    private Long id;
    private Long teamId;
    // 成员UserID。对应管理端的账号，企业内必须唯一。不区分大小写，长度为1~64个字节；第三方应用返回的值为open_userid
    @Alias("userid")
    private String userId;
    // 成员名称；第三方不可获取，调用时返回userid以代替name；
    private String name;
    // 手机号码，
    private String mobile;
    // 成员所属部门id列表，仅返回该应用有查看权限的部门id；成员授权模式下，固定返回根部门id，即固定为1。对授权了“组织架构信息”权限的第三方应用，返回成员所属的全部部门id
    @Alias("department")
    private List<Long> departments;
    // 性别。0表示未定义，1表示男性，2表示女性。
    private Integer gender;
    // 邮箱，
    private String email;
    // 企业邮箱，
    @Alias("biz_mail")
    private String bizMail;
    // 头像url。
    private String avatar;
    // 激活状态: 1=已激活，2=已禁用，4=未激活，5=退出企业。
    private String status;
    // 全局唯一。对于同一个服务商，不同应用获取到企业内同一个成员的open_userid是相同的，最多64个字节。仅第三方应用可获取
    @TableField("open_id")
    @Alias("open_userid")
    private String openUserId;
    // 主部门，仅当应用对主部门有查看权限时返回。
    @Alias("main_department")
    private Long deptId;
}
